package com.muxi.association.util;

import org.springframework.stereotype.Component;


/**
 * @author zxw
 * 返回对象接口，使用的时候继承
 */
@Component
public class BaseApiService {
    /**
     * 返回错误，默认返回错误信息
     * @return
     */
    public BaseResponse setResultError() {
        return setResult(ExceptionResultEnum.ERROR, null);
    }

    public BaseResponse setResultNoAuthority(){
        return setResult(ExceptionResultEnum.NO_AUTHORITY,null);
    }

    /**
     * 返回错误，有返回错误值
     * @param message
     * @return
     */
    public BaseResponse setResultError(String message) {
        return setResult(400, message, null);
    }

    /**
     * 返回成功，没有data数据
     * @return
     */
    public BaseResponse setResultSuccess() {
        return setResult(ExceptionResultEnum.SUCCESS, null);
    }

    /**
     * 返回成功，有data数据
     * @param data
     * @return
     */
    public BaseResponse setResultSuccess(Object data) {
        return setResult(ExceptionResultEnum.SUCCESS, data);
    }

    /**
     * 参数是枚举类型
     * @param resultEnum
     * @param data
     * @return
     */
    public BaseResponse setResult(ExceptionResultEnum resultEnum, Object data) {
        return new BaseResponse(resultEnum.getCode(), resultEnum.getMessage(), data);
    }

    /**
     * 自定义传参
     * @param code
     * @param message
     * @param data
     * @return
     */
    public BaseResponse setResult(Integer code, String message, Object data) {
        return new BaseResponse(code, message, data);

    }
    public BaseResponse setResult(Integer code, String message) {
        return new BaseResponse(code, message);

    }
}
